/**
*┌──────────────────────────────────────────────────────────────┐
*│　描    述：充值中心出入金                                                    
*│　作    者：gaotang                                              
*│　版    本：1.0   模板代码自动生成                                              
*│　创建时间：2019-02-20 15:07:13                           
*└──────────────────────────────────────────────────────────────┘
*┌──────────────────────────────────────────────────────────────┐
*│　命名空间： BestTrader.Cms.IServices                                   
*│　接口名称： IUCInOutCashRepository                                      
*└──────────────────────────────────────────────────────────────┘
*/
using BestTrader.Cms.Models;
using BestTrader.Cms.ViewModels;
using System;
using System.Collections.Generic;
using System.Text;

namespace BestTrader.Cms.IServices
{
    public interface IUCInOutCashService
    {
        TableDataResult<int> AddOrModifyInCoin(InCashModel item);

        /// <summary>
        /// 用户入金记录
        /// </summary>
        ConfirmInCashModel GetInCoinById(int inCoinId, String UserId);

        /// <summary>
        /// 用户审核（确认）订单
        /// </summary>
        BaseResult AuditConfirmInCoin(ConfirmInCashModel item, String UserId);

        /// <summary>
        /// 通过审核入金
        /// </summary>
        BaseResult AuditInCoin(int inCoinId, String UserId);

        /// <summary>
        /// 通过审核自定义入金
        /// </summary>
        BaseResult AuditCustomInCoin(AuditCustomInCoinModel model, String UserId);

        

        /// <summary>
        /// 取消审核入金
        /// </summary>
        BaseResult CancelInCoin(int inCoinId, String UserId);

        /// <summary>
        /// 通过审核出金
        /// </summary>
        BaseResult AuditOutCoin(int inCoinId, String UserId);
        /// <summary>
        /// 通过美付宝审核代付出金
        /// </summary>
        BaseResult AuditGomePayOutCoin(int inCoinId, String UserId,string gomePayPwd);
        /// <summary>
        /// 获取风软账户余额
        /// </summary>
        /// <param name="username"></param>
        /// <returns></returns>
        TableDataResult<RmmfAccountBalanceOutput> GetRmmfAccountBalanceByUserName(string username);

        /// <summary>
        /// 取消审核出金
        /// </summary>
        BaseResult CancelOutCoin(int inCoinId, String UserId);


        BaseResult AddOrModifyOutCoin(OutCashModel item);


        /// <summary>
        /// 入金用户信息
        /// </summary>
        TableDataResult<InCoinUserModel> LoadInCoinUserData(String UserId, String RoleId);

        /// <summary>
        /// 用户入金记录
        /// </summary>
        TableDataModel LoadInCoinRecordData(InOutCoinRecordRequestModel model, String UserId, String RoleId);

        /// <summary>
        /// 用户出金记录
        /// </summary>
        TableDataModel LoadOutCoinRecordData(InOutCoinRecordRequestModel model, String userId, String roleId);

        /// <summary>
        /// 入金用户信息
        /// </summary>
        TableDataResult<OutCoinUserModel> LoadOutCoinUserData(String UserId, String RoleId);

        /// <summary>
        /// 出金记录
        /// </summary>
        TableDataModel LoadOutCashRecordData(InOutCoinRecordRequestModel model, String userId, String roleId);

        /// <summary>
        /// 线上入金记录
        /// </summary>
        TableDataModel LoadOnlineInCashRecordData(InOutCoinRecordRequestModel model, String userId, String roleId);

        /// <summary>
        /// 线下入金记录
        /// </summary>
        TableDataModel LoadOfflineInCashRecordData(InOutCoinRecordRequestModel model, String userId, String roleId);
        /// <summary>
        /// 获取gome pay 支付结果
        /// </summary>
        /// <param name="username"></param>
        /// <returns></returns>
        TableDataResult<GomePayDFBillOutput> GetGomePayOrderState(string username);

        /// <summary>
        /// 批量删除
        /// </summary>
        /// <param name="Ids">主键id数组</param>
        /// <returns>结果实体</returns>
        BaseResult DeleteIds(int[] Ids);
    }
}